package com.info.zhiduoduo.repository.entity.company;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.annotations.Version;
import com.baomidou.mybatisplus.enums.IdType;
import com.info.zhiduoduo.common.constants.company.CompanyPayType;
import com.info.zhiduoduo.common.utils.StringUtil;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * <p>
 * 企业账户
 * </p>
 *
 * @author bob
 * @since 2018-12-23
 */
@Data
@Accessors(chain = true)
@TableName("zdd_company_account")
public class CompanyAccount extends Model<CompanyAccount> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "acctid", type = IdType.AUTO)
    private Integer acctid;
    private Integer compid;
    private BigDecimal balance;
    /**
     * 冻结中的余额
     */
    @TableField("frozen_balance")
    private BigDecimal frozenBalance;
    /**
     * 创客团虚拟支付宝账户余额
     */
    @TableField("maker_groupon_balance")
    private BigDecimal makerGrouponBalance;
    /**
     * 创客团虚拟支付宝账户的冻结余额
     */
    @TableField("maker_groupon_frozen_balance")
    private BigDecimal makerGrouponFrozenBalance;
    /**
     * 是否开通创客团功能 0:否 1:是
     */
    @TableField("maker_groupon")
    private Integer makerGroupon;
    /**
     * 支付主体账号id
     */
    @TableField("principal_id")
    private Integer principalId;
//    /**
//     * 支付方式 1:得仕九歌商户号代付 2:线下支付 3:企业商户号支付 4:九歌线下代付 5:得仕武圣商户号代付
//     */
    @TableField("pay_type")
    private Integer  payType;
    /**
     * 开联通账户id
     */
    private String merchantid;
    /**
     * 开联通秘钥
     */
    private String md5key;
    /**
     * 开联通商户号证书文件名
     */
    @TableField("merchant_ca_file")
    private String merchantCaFile;
    /**
     * 开联通商户号证书私钥,已经经过Aes加密
     */
    @TableField("merchant_private_key")
    private String merchantPrivateKey;
    /**
     * 开联通商户号证书公钥,已经经过Aes加密
     */
    @TableField("merchant_public_key")
    private String merchantPublicKey;
    /**
     * 开联通创建企业账户的请求流水号(唯一)
     */
    @TableField("merchant_request_seq")
    private String merchantRequestSeq;
    /**
     * 开联调商户接入流水号(唯一)
     */
    @TableField("klt_merchant_id_seq")
    private String kltMerchantIdSeq;
    /**
     * 开联通商户状态
     */
    @TableField("klt_merchant_state")
    private Integer kltMerchantState;
    /**
     * 支付密码
     */
    @TableField("pay_password")
    private String payPassword;
    /**
     * 交易审核人员手机号
     */
    @TableField("verify_phone")
    private String verifyPhone;
    /**
     * 更改备注
     */
    @TableField("change_notes")
    private String changeNotes;
    /**
     * 实名认证 1.未认证 2:已认证
     */
    @TableField("realname_auth")
    private Integer realnameAuth;
    /**
     * 真实姓名
     */
    private String realname;
    /**
     * 身份证ID
     */
    private String idno;
    /**
     * 身份证前照片
     */
    private String idfrontimg;
    /**
     * 身份证后照片
     */
    private String idbackimg;
    /**
     * 身份证生效日期
     */
    @TableField("issue_date")
    private String issueDate;
    /**
     * 身份证失效日期
     */
    @TableField("invalid_date")
    private String invalidDate;
    /**
     * 占股25%以上股东身份证正反面,json格式
     */
    private String shareholder;
    /**
     * 银行卡数量
     */
    @TableField("bankcard_num")
    private Integer bankcardNum;
    /**
     * 加密salt
     */
    private String salt;
    /**
     * 商务经理ID
     */
    @TableField("business_manager_id")
    private Integer businessManagerId;
    /**
     * 平台规则 0: 未阅读 1：已阅读
     */
    @TableField("agree_protocol")
    private Integer agreeProtocol;
    /**
     * 一级经济分类id
     */
    @TableField("economy_category_id")
    private Integer economyCategoryId;
    /**
     * 显示核心模块
     */
    @TableField("core_module")
    private String coreModule;
    /**
     * 是否提示今日对创客已发单金额  0: 不提示 1:提示
     */
    @TableField("today_amount_reminder")
    private Integer todayAmountReminder;
    /**
     * 策略性开票 0:否 1:是
     */
    @TableField("strategy_invoice")
    private Integer strategyInvoice;
    @Version
    private Long version;
    /**
     * 提交实名信息的时间
     */
    @TableField("auth_submit_time")
    private Date authSubmitTime;
    /**
     * 实名审核通过时间
     */
    @TableField("auth_pass_time")
    private Date authPassTime;
    private Date createtime;
    private Date updatetime;

    /**
     * 用工企业编号
     */
    private String firmid;

    /**
     * 未审核企业逾期理由
     */
    @TableField("reasons_for_overdue")
    private String reasonsForOverdue;

    /**
     * 是否评价过：0.未评价，1.已评价，2.不在提醒
     */
    @TableField("whether_evaluate")
    private Integer whetherEvaluate;


    /**
     * 众包企业 发布众包项目，开票时需要的众包项目合同的有效日期
     */
    @TableField("contract_start_date")
    private Date contractStartDate;

    /**
     * 众包企业 发布众包项目，开票时需要的众包项目合同的有效日期
     */
    @TableField("contract_end_date")
    private Date contractEndDate;

    /**
     * 众包企业 发布众包项目，开票时在有效日期中需要的项目编号
     */
    @TableField("project_bidno")
    private String projectBidno;

    /**
     * 个体户开票推送项目时 生成的发包方和企业的合同存放路径
     */
    @TableField("business_contract_path")
    private String businessContractPath;

    /**
     * 是否为主体公司：0.否，1.是
     */
    @TableField("whether_subject")
    private Integer whetherSubject;

    /**
     * 推送共青城返回的项目流水号
     */
    @TableField("project_serial_number")
    private String projectSerialNumber ;
    /**
     * 委托文件，废弃，使用zdd_company_entrust_file 表
     */
    @TableField("entrust_file")
    private String entrustFile;
    /**
     * 委托开始时间，废弃，使用zdd_company_entrust_file 表
     */
    @TableField("entrust_start_time")
    private Date entrustStartTime;
    /**
     * 委托结束时间，废弃，使用zdd_company_entrust_file 表
     */
    @TableField("entrust_end_time")
    private Date entrustEndTime;

    /**
     * 是否是非标企业（0：否1：是）
     */
    private Integer standard;
    /**
     * 跟单员,商务经理中的ID
     */
    private Integer merchandiserId;

    /**
     * 是否显示招商银行记账子单元 0：否 1：是
     */
    private Integer showZhaoshangLedger;

    /**
     * 是否开通合销云功能 0：否 1：是
     */
    private Integer marketingCooperative;

    /**
     * 合销云二维码图片路径
     */
    private String marketingCooperativeQrcode;

    @ApiModelProperty("税源地ID")
    private Integer taxSourceId;

    @ApiModelProperty(" 业务支付方式（0:线上 1线下）")
    private Integer payMethodZdd;

    @ApiModelProperty("智众包业务支付方式（0:线上 1线下）")
    private Integer payMethodCro;

    @ApiModelProperty("智零工业务支付方式（0:线上 1线下）")
    private Integer payMethodOdd;

    @ApiModelProperty("是否可交易(0待设置:默认，1已初步设置，2设置完成)")
    private Integer tradeFlag;

    @ApiModelProperty("无感收款(0否，1是)")
    @TableField("no_feel_income")
    private Integer noFeelIncome;

    @ApiModelProperty("账号关联集团标签ID")
    @TableField("account_link_id")
    private Integer accountLinkId;

    @ApiModelProperty("账号关联普通标签ID")
    @TableField("normal_link_ids")
    private String normalLinkIds;


    @Override
    protected Serializable pkVal() {
        return this.acctid;
    }

}
